package cn.cdeden.aiqa.domain.vo;

import cn.cdeden.aiqa.domain.WikiModel;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import cn.cdeden.common.excel.annotation.ExcelDictFormat;
import cn.cdeden.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;


/**
 * 模型管理视图对象 wiki_model
 *
 * @author Nick
 * @date 2025-02-13
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = WikiModel.class)
public class WikiModelVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Long id;

    /**
     * 适用的角色
     */
    @ExcelProperty(value = "适用的角色")
    private String allowedRoles;

    /**
     * 适用的角色名称
     */
    @ExcelProperty(value = "适用的角色名称")
    private String allowedRolesName;

    /**
     * 模型名称
     */
    @ExcelProperty(value = "模型名称")
    private String modelName;

    /**
     * 图标url
     */
    @ExcelProperty(value = "图标url")
    private  byte[] iconUrl;

    /**
     * 类型传值
     */
    @ExcelProperty(value = "类型传值")
    private String value;

    /**
     * 状态：1启用、0禁用
     */
    @ExcelProperty(value = "状态：1启用、0禁用")
    private Long enabled;

    /**
     * 排序
     */
    @ExcelProperty(value = "排序")
    private Long sort;

    /**
     * 模型类型
     */
    @ExcelProperty(value = "模型类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_large_model")
    private String modelType;

    /**
     * 模型地址
     */
    @ExcelProperty(value = "模型地址")
    private String modelUrl;

    /**
     * 模型APIKey
     */
    @ExcelProperty(value = "模型APIKey")
    private String modelKey;

}
